Cellular telephone data communication system and method

ABSTRACT

The cellular telephone data communication system and method involves the use of a mobile data processing interface and a cooperating static data processing interface to effectively transmit data over a cellular telephone system. Each data processing interface includes a processor which operates in the transmitting mode to add an error control correction data format to data received from an external data source. The data is divided into packets and provided to a modem which is uniquely operated to eliminate the action of the modem scramble system and to remain active in spite of a carrier signal loss. The modem is deactivated or disconnected by a disconnect signal from the processor, and when carrier signal loss occurs, this disconnect signal is provided only after the lapse of a delay period without the resumption of the carrier signal. The error control correction data format causes a receiver to evaluate the received data for error and to retransmit an acknowledgment signal for each acceptable packet of received data. In the absence of an acknowledgment signal, the processor will again provide a data packet to the modem for retransmission. Also, the processor will determine the frequency of error in the received data from the acknowledgment signals and subsequently adjust the data packet size in accordance with this error frequency.

.Iadd.This application is a continuation-in-part of Ser. No. 06/786,641 filed Oct. 11, 1985, now abandoned, which was based on Ser. No. 06/648,945 filed Sep. 10, 1984, also abandoned. .Iaddend.

The present invention incorporates a microfiche appendix with one microfiche having 75 frames.

TECHNICAL FIELD

The present invention relates to telephone data communications systems generally, and more particularly to a data communication system which is adapted to effectively transmit a data stream over a cellular telephone network.

BACKGROUND ART

Modern computer and telephone system technology have made the transmission of computer originated data over conventional telephone lines a commonplace event. In such systems, a computer is connected through a suitable interface, such an a RS 232 interface, to provide serial data signals to a conventional wire line modem. With modems of this type, when signal quality changes induce errors in the modem data stream, an ARQ (Automatic Repeat Request) or packet repeat scheme is conventionally employed for controlling these errors. This requires a complete repeat of numerous bytes of data until such time as all of the bytes of data in the packet are received correctly. However, the low frequency of signal quality change induced errors in a wire line environment makes this an efficient method of controlling error.

Current wire line modem technology provides a scrambled modulated signal to the telephone line which will not be interpreted by telephone equipment as a valid switch command. To accomplish this, conventional wire line modems are provided with a scrambler circuit which assures that the modulated signal is continuously changing. This changing signal is used by the modem PLL (Phase Locked Loop) circuitry to provide synchronization, for without this scramble modulated signal, a static condition of the modem will cause the PLL to loose synchronization and the telephone equipment to interpret the static signal as a switch command.

Conventional telephone modems have operated effectively to interface computers with a telephone system for data transmission, but these modems do not operate effectively to provide data transmission over conventional cellular telephone equipment. In a cellular telephone system, data transmission must occur to and from a moving vehicle which may be passing between zones or cells in the system. For example, a city with cellular service is divided into a plurality of adjoining geographic cells, each of which has its own transmit/receive antenna controlled by a mobile switching office. For conventional cellular telephone voice communication, an automobile travelling through a city passes from cell to cell, and the signal is transferred from antenna to antenna. This transfer process interrupts communications for a brief period, normally a fraction of a second, and does not cause a problem for voice communication. However, for data communications, this "hand-off" process results in significant problem if conventional wire line modems are used.

A wire line modem for use with normal telephone equipment will disconnect upon experiencing a carrier signal loss. Thus, such a modem, when used with a cellular telephone system, will disconnect each time the vehicle in which the modem is mounted travels between cells, for some carrier loss will always be experienced when the radio signal used for cellular telephone communication is switched between the low power transmission stations of adjacent cells.

In the cellular telephone environment, numerous errors are induced into data transmission because of the problems associated with cellular telephone communication. Echo and fading problems cause multiple bit errors in the data stream, and such problems occur frequently with a moving vehicle. For example, the transmitted signal may hit a building or other obstacle and bounce erratically or fade as the vehicle is shielded from the cell antenna. This high frequency of error in the data stream transmitted by cellular transmission renders the error correction protocol present in conventional wire line modems unsuitable for cellular use. Errors occur so frequently in a cellular environment that the number of repeat requests becomes large and data transmission efficiency is reduced below an acceptable amount. In some instances, errors may occur so often that a correct packet may never be received. Thus, the error correction protocol present in conventional telephone modems is unable to cope with the problems presented in a cellular environment.

Finally, as previously indicated, the conventional wire line telephone modem incorporates scrambler circuitry to ensure that the modulated signal is continuously changing to provide synchronization for the modem PLL circuitry. However, such scramblers employ a polynomial which has the effect of increasing the number of bit errors received. If a single bit error occurs during the transmission of data, that single bit error will be presented when received, but in addition, that error will propagate through the scrambler polynomial and later cause two additional errors in the received data presented to the user. These errors, coupled with those normally inherent with a cellular telephone system, will completely overwhelm the error correction circuitry present in a conventional modem.

In the past, systems have been developed for communicating data between a plurality of geographical zones and a host computer by means of portable radios. Such systems are disclosed in U.S. Pat. Nos. 4,525,861 and 4,545,071 to Thomas A. Freeburg. Although these patented systems effectively provide data communications from a host computer throughout a geographical area divided into zones, they do not address the problems presented by hand-off or echoing and fading in a cellular telephone system.

DISCLOSURE OF THE INVENTION

It is a primary object of the present invention to provide a novel and improved method and apparatus for transmitting data signals over a cellular telephone system.

Another object of the present invention is to provide a novel and improved method for transmitting data over a cellular telephone system by means of a modem connected to the cellular telephone system. The modem is maintained in the activated state for a predetermined time period after a loss of the system carrier signal before it is permitted to deactivate and is caused to remain in the activated state after the loss of the carrier signal if the carrier signal resumes within the predetermined time period.

A further object of the present invention is to provide a novel and improved method for transmitting data over a cellular telephone system by means of a modem connected to the cellular telephone system which includes adding error control correction data to the data signal before providing the data signal to the modem.

Yet another object of the present invention is to provide a novel and improved method for transmitting data over a cellular telephone system by means of a modem connected to the cellular telephone system which includes repetitively producing a unique data byte to said modem during a break in the data signal to the modem.

A further object of the present invention is to provide a novel and improved method for transmitting data over a cellular telephone system by means of a modem connected to the cellular telephone system which includes adding error control correction data to a data signal before it is provided to the modem and the removing said error control correction signal from the data signal at the receiver before the data signal is provided to a receiver use device.

Yet another object of the present invention is to provide a novel and improved method for transmitting data over a cellular telephone system by means of a modem connected to the cellular telephone system which includes providing no scrambler polynomial in the modem, but instead adding error control correction data to the data signal before providing said data signal to the modem. This error control correction signal consists of a sliding packet ARQ wherein the packet size changes or slides based on the transmission quality of the transmission. The packet size is increased for a good transmission signal and decreased for a bad transmission signal. This is combined with a forward error correction signal.

Another object of the present invention is to provide a novel and improved cellular telephone data communication system for transmitting data from a computer over a cellular telephone unit. This system includes a microprocessor which is connected between the computer and a special cellular telephone modem to control the operation of the modem. The microprocessor prevents modem disconnect upon the loss of a carrier signal for periods less than a predetermined disconnect period.

A further object of the present invention is to provide a novel and improved cellular telephone data communication system for providing communication over a cellular telephone network between a portable computer and a computer connected to conventional telephone lines by use of unique modems. The portable computer is connected to a modem maintained in a unique state for cellular transmission by means of a microprocessor which controls the operation of the modem. The microprocessor adds error control correction data to a data signal from the computer before the data signal is provided to the modem. The data signal with the modulated error control correction data is provided by the modem to a cellular telephone transceiver which transmits the data to a receiving system capable of retransmitting the data over conventional telephone lines. At the central computer, a unique modem and microprocessor combination receives the data and removes the error correction control signals therefrom before providing the data signal to a use device.

Yet another object of the present invention is to provide a novel and improved cellular telephone data communication system for transmitting data from a computer over a cellular telephone unit. A microprocessor connected between the computer and a unique cellular modem senses a static condition of the modem and provides a repetitive synchronization byte to the cellular modem during a break in the data stream thereto.

A further object of the present invention is to provide a novel and improved cellular telephone data communication system for transmitting data from a computer over a cellular telephone network which incorporates a mobile data programming interface adapted to operate with a static data programming interface. Both such interfaces operate to either transmit or receive data and cooperate with an associated external computer used to provide a stream of data to be transmitted. Each interface includes a microprocessor which is programmed to adapt the transmitted data to the high error frequency prevalent in the cellular telephone environment and to control a modem operating in a unique mode for cellular transmission.

A still further object of the present invention is to provide a novel and improved cellular telephone data communication system for transmitting data from a computer over a cellular telephone network which incorporates a mobile data programming interface adapted to operate with a static data programming interface to overcome the effects of signal error causing factors in the cellular telephone system environment. The transmitting interface adds an error detection and correction format to the data signal and the receiving interface removes this format from a received data signal which is sent to a use device. The receiving interface responds to the error detection and correction portion of the received signal to check the data for error and to either acknowledge receipt of acceptable data or to provide an error indication to the transmitting interface by withholding the acknowledgment. The transmitting interface evaluates the errors in the received data stream and varies a data packet repeat size for subsequently transmitted data. Also the transmitting interface retransmits previously transmitted data which was found to be erroneous at the receiving interface.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of the cellular telephone data communication system of the present invention;

FIG. 2 is a diagram illustrating a manner in which the data signal to be transmitted by the cellular telephone data communication system of the present invention is modified to provide an error detection and correction capability;

FIG. 3 is a flow chart showing the control functions of the microprocessor for a transmitting interface of the cellular telephone data communication system of the present invention; and

FIG. 4 is a flow chart showing the data processing function of the microprocessor for a transmitting interface of the cellular telephone data communication system of the present invention.

BEST MODE FOR CARRYING OUT THE INVENTION

The system for transmitting data over a cellular telephone network of the present invention is indicated generally at 10 in FIG. 1. A vehicle mounted mobile cellular telephone system conventionally includes a transceiver 12 which transmits or receives voice signals in the radio frequency range by means of an antenna 14. Voice signals transmitted by the antenna 14 are received by an antenna 16 connected to a transceiver 18 located in a specific cell area of the cellular telephone network. The transceiver 18 is connected to cellular land line equipment 20 which is operative to transmit the received signal over conventional telephone lines 22. Voice signals from the telephone lines 22 may also be transmitted by the transceiver 18 and the antenna 16 back to the antenna 14 to be provided by the transceiver 12 to a conventional mobile cellular telephone unit. The transceiver 12 is controlled by a cellular telephone system control unit 24 which is connected to the transceiver by means of a cellular telephone bus 26. The cellular bus 26, for purposes of description, may be one which meets the AMPS (Advanced Mobile Phone Service) specifications determined by the Federal Communications Commission during test of the cellular system in Chicago. These specifications indicate that control signals between the transceiver 12 and the control unit 24 should be on an eight bit parallel party line bus and that the analog signals should be a differential signal with a nominal -20 dbV level using a 24 wire interconnecting cable. A very complete description of the AMPS system is provided in "The Bell System Technical Journal", 1979, Vol. 58, No. 1, pp 1-269.

To this point, the cellular telephone system with which the present invention is combined is a conventional cellular telephone system, and the mobile portion of this system is connected to the mobile data programming interface 28 of the present invention. This mobile data programming interface includes a cellular interface 30 which renders the remainder of the mobile data programming interface compatible with the cellular bus 26 of a particular cellular telephone system. For example, with AMPS compatible cellular telephones, the cellular interface 30 would consist of an eight bit parallel I/O, port party line drivers and receivers, operational amplifiers providing differential driving and receiving analog conversion between the -20 dbV signal on the cellular bus and the defined levels required by an analog switch and conditioning system 32 for the mobile data programming interface. Cellular interfaces of this type are known, commercially available items, as exemplified by cellular interfaces sold by Motorola Corporation of Schaumberg, Ill. or Oki of Japan.

The analog switch and conditioning system 32 is implemented using currently known switching technology. The system may incorporate CMOS analog switches operative in response to microprocessor generated control signals to switch the state of signal processing operational amplifiers. Basically, this analog switch and conditioning system operates to selectively connect various components of the mobile data processing interface to the cellular interface 30 in a manner to be described in greater detail.

The heart of the mobile data programming interface is a microprocessor 34 which provides control functions for the cellular interface 30 and analog switch and conditioning system 32 as well as for other portions of the mobile data programming interface to be described. This microprocessor may be a conventional 8/16 bit microprocessor, such as the Intel 8088 manufactured by Intel Corporation. The microprocessor includes random access (RAM) and read only (ROM) memory storage systems which contain the control and data error programs necessary to adapt computer data for cellular telephone transmission. The use of a separate microprocessor in the mobile data processing interface frees the limited memory which is normally available in portable computers for other uses.

A serial data stream is provided to the microprocessor 34 from an external portable computer 36 by means of a conventional RS 232 interface 38 included within the mobile data programming interface. Data received by the microprocessor from the portable computer 36 is provided with unique error correction signal information in the microprocessor before being provided to a modem 40.

The modem 40 may be one of a number of conventional modems used for telephone wire line transmission which has test mode capabilities for deactivating certain modem functions. A particular commercially available modem suitable for use as the modem 40 is the AMI 3530 modem manufactured by Gould Advanced Semiconductors of 3800 Hemstead Road, Santa Clara, Calif. Modems of this type, when employed for data transmission over conventional telephone lines, will disconnect immediately in response to a carrier loss. When such modems sense a channel blanked status occasioned by a carrier loss, they provide a "break bit" output and disconnect. Also, for normal use such modems include a scrambler system which assures that the data modulated signal is continuously changing, and this signal change is used by the modem PLL circuitry to provide synchronization. A non-scrambled modulated signal may be interpreted by the telephone operating equipment as a valid switch command, and this is particularly true when the modem is in the static condition. Normally the scrambler system in the modem prevents this static condition where loss of synchronization by the PLL or the interpretation of the static signal as a switch command is most likely to occur. However, modems such as the AMI 3530 incorporate a test mode of operation wherein the modem is prevented from disconnecting in response to carrier loss and wherein the modem scrambler can be deactivated or defeated. Normally, such modems would be incapable of effective operation in this test mode, but it is the availability of this test mode that renders modems of this type suitable for use as the modem 40.

The data stream from the microprocessor 34, which has been provided with unique error correction data by the microprocessor, is transmitted by the modem 40 through the analog switch 32 and cellular interface 30 to the transceiver 12. This data is then transmitted as a radio frequency signal by the antenna 14 to the antenna 16, where it is converted by the transceiver 18 and cellular land line equipment 20 to a signal suitable for transmission over conventional telephone lines 22. These telephone lines connect the signal to the second portion of the cellular transmission system of the present invention which is a static data programming interface 42 operative to pass data signals to and from the telephone line 22. The data signals which are passed to the telephone line originate at a host computer 44 which cooperates with the static data programming interface in a manner similar to the operation of the portable computer 36 with the mobile data programming interface 28.

For transmission purposes, the computer 44 provides data to an RS 232 interface 46 which in turn provides the data to a microprocessor 48. This microprocessor is identical in construction and function to the microprocessor 34, and is programmed with the same control and error correction and other programming. The microprocessor 48 adds error correction and control signals to the data provided from the RS 232 interface, and then provides the modified data stream to a modem 50. The modem 50 is identical in construction and function to the modem 40, and operates to transmit the data stream by means of an analog switch and conditioning system 52 to a conventional FCC interface 54. The FCC interface provides the data stream to the telephone lines 22 where they are sent by means of the cellular land line equipment 20 to the transceiver 18. The data is then transmitted to the transceiver 12 which provides it by means of the cellular interface 30 and the analog switch 32 to the microprocessor 34. The microprocessor then removes the error correction and control signals from the data stream and provides the data through the RS 232 interface 38 for display and use by the portable computer 36.

The static data programming interface 42 receives data transmitted over the cellular telephone line, and this incoming data from the FCC interface 54 is fed by means of the analog switch 52 to the microprocessor 48. Here the error and control signals are removed from the data and the data is then displayed and/or used by the computer 44. It will be noted that the static data programming interface 42 and the mobile data programming interface 28 are substantially identical in structure and operation with the exception that the static data programming interface is connected to telephone lines by an FCC interface while the mobile data programming interface is connected to a cellular telephone system by a cellular interface. Also, the mobile data programming interface may be powered from a vehicle battery 60 which operates through a conventional power converter 62 to provide power to a power bus 64. This power bus 64 is connected to provide power to all of the operating units in the mobile data programming interface 28 and may also be connected to provide power to the portable computer 36. The static data programming interface 42 includes a similar power bus, not shown, which is connected to any conventional power supply such as the power supply in a building containing the computer 44.

Although the mobile data programming interface 28 and the static data programming interface 42 must communicate with one another to effectively transmit data over a cellular telephone system, both of these units can also transmit and receive conventional cellular telephone audio transmissions. The mobile data programming interface 28 includes a telephone interface 66 which may be connected to an external telephone-like handset 68 and which operates in conventional manner through the analog switch and conditioning system 32 and cellular interface 30 to transmit and receive audio communications by means of the transceiver 12. In a similar manner, the static data programming interface 42 includes a telephone interface 70 which may be connected to an external telephone to transmit and receive audio signals through the telephone interface, the analog switch 52 and the FCC interface 54. Thus, both the mobile data programming interface 28 and the static data programming interface 42 are adapted for normal audio communication. Like the mobile data programming interface, the static data programming interface includes a control and display section 72 which is connected to the microprocessor 48 and which operates to receive data from which the microprocessor has extracted the control and error signals.

Both the mobile data programming interface 28 and the static data programming interface 42 will operate with optional equipment, and an optional equipment block 74 is shown for the mobile data programming interface in FIG. 1. This optional equipment might include other modems, a microphone which may be employed to provide audio communication in place of the cellular phone 68, and various memory and encrypting devices known to the art to accomplish automatic dialing and similar functions.

Before considering in detail the operation of the mobile data programming interface 28 and the static data programming interface 42, it is necessary to understand the manner in which the microprocessor 34 and modem 40 and the microprocessor 48 and modem 50 cooperate to adapt a data signal for cellular telephone transmission. With reference to FIG. 2, there is diagramatically illustrated a data document 76 to be transmitted which has originated with the portable computer 36. This data document is divided, by the microprocessor 34, into a plurality of packets 78, and for purposes of illustration in FIG. 2, four packets of equal size are shown. In actuality, a document would be divided into many more packets which would not necessarily be of equal size. Further, each packet is divided by the microprocessor 34 into a plurality of words, and for purposes of illustration in FIG. 2, each packet 78 includes two words 80. Again, a packet would normally contain many more than two words, but two are shown for purposes of illustration. Each word in a packet includes three bytes a, b, and c, and the microprocessor 34 will determine whether the word is a control word or a data word. When the word is a data word, then bytes a and b will be data bytes, while byte c is a forward error correction (FEC) byte. Conversely, if the word is a control word, byte a will be the control signifier, byte b will be the control word descriptor and again, byte c will be the FEC byte. Thus it will be noted that byte c is always the FEC byte for both data and control words.

Data words are always synchronous with the packet stream, while control words may or may not be asynchronous to data. An example of an asynchronous control word would be an acknowledgement word, while an example of a synchronous control word would be the packet "end" word which is the last word in every packet. Synchronous control words are added into the cyclic redundancy check (CRC) which is included in the packet "end" word, while asynchronous control words do not affect the CRC of a packet. An exemplary form for an asynchronous control word, for example, the acknowledgement word, would be a control word signifier for byte a, the packet number for byte b, and byte c, the FEC byte. On the other hand, an example of a synchronous control word, such as the packet "end word", would be a control word signifier for byte a, a CRC byte for byte b and the FEC byte as byte c. A control word synchronous to the packet indicates that byte b is a data rather than a control byte.

The FEC byte causes the receiving microprocessor to check the data bytes in a data word and determine whether or not an error exists in that word. If an error is detected, the microprocessor 48 will use the FEC byte to correct the word at reception. However, if a predetermined error level in any word within a packet is exceeded, an acknowledgment signal for the packet will not be transmitted back to the transmitting microprocessor, thereby causing this microprocessor to retransmit the entire packet. For example, the predetermined error level could be a specified number of bits per word, for example 2 bits. Correction would occur for any error of 2 bits or less, but an error of 2 bits would result in no acknowledgment being transmitted for the packet.

The microprocessor unit 48 operates in a manner identical to that of the microprocessor 34 to form data packets with control and data words to transmit data provided from the computer 44, and the microprocessor 34 operates in the receiving mode to check the data byte and pass acceptable data onto the computer 36. If the transmitting microprocessor 48 or 34 does not receive acknowledgement signals back from the receiving microprocessor, correction, or other procedures to be described, are initiated by the transmitting microprocessor.

Referring back to FIG. 2, if the receiving microprocessor, in this example the microprocessor 48, examines a received data word and discovers an error in excess of the predetermined error level, it will not transmit a packet acknowledgement signal to the microprocessor 34. The transmitting microprocessor 34 will, by the lack of acknowledgment signals, be informed of excess error in a data packet 78, and will operate to retransmit this packet until the data is received in a substantially error-free or at least a correctable condition. To this point, the transmission of the data package has occured in much the same manner as does the transmission of a data stream over a telephone wire. However, in the telephone wire environment, the error frequency is not as great as that experienced with cellular telephone transmission systems, and consequently, a uniform packet repeat process for error correction is acceptable for wire line data transmission. This is not the case for cellular telephone transmission, because the high error frequency might well cause multiple packet repeats to such an extent that no transmission would ever occur. Consequently, the transmitting microprocessor of the present invention is programmed with an error correction capability which involves a sliding packet size. This packet size is changed in accordance with transmission quality determined by the transmitting microprocessor on the basis of an evaluation of the error frequency in signals received from previously transmitted data. The receiving microprocessor transmits a data stream to the transmitting microprocessor from which this evaluation is made. The packet size is increased for a good transmission signal and decreased for a bad transmission signal, so that in a high error situation, the retransmitted packet is of minimum size. The transmitting microprocessor is continuously evaluating the number of errors in the data stream it receives from the receiving microprocessor, and is adjusting the packet size of subsequent transmissions in accordance with this evaluated error data. Thus, as illustrated by FIG. 2, the packet size 78 might be increased during the transmission period by the transmitting microprocessor to a much larger packet size 82 when transmission errors are minimal, or, conversely, the transmitting microprocessor might decrease the packet size to a much smaller packet size 84 as transmission errors increase.

In the transmission mode, both the microprocessors 34 and 48 provide a sliding packet ARQ wherein the packet size changes or slides based on the transmission quality. In a high error situation, the packet size becomes smaller and the time required to repeat a packet containing error is lessened. Consequently, in a cellular transmission situation where errors are occurring frequently, a packet of reduced size containing corrected data may be received, while if the packet remained of greater size, numerous bytes of data would have to be retransmitted until all bytes of data in the packet are received correctly. This would reduce data transmission efficiency, or in extremely high error situations, prevent the reception of a correct packet.

The microprocessors 34 and 48 maintain the modems 40 and 50 on line in the event of a carrier signal loss during data transmission. As previously indicated, such a carrier transmission loss occurs when the vehicle bearing the mobile data programming interrace 28 passes between cells in a cellular telephone system. The modems 40 and 50 are operated normally in the test mode or a similar mode which prevents the modem from automatically disconnecting in response to a carrier signal loss. Instead, the modem is not permitted to disconnect until it receives a disconnect signal from the respective microprocessor 34 or 48. This microprocessor, which has been sending or receiving data, senses the carrier signal loss when it receives a "break bit" from the associated modem, and therefore, the microprocessor recognizes a carrier loss and initiates a time delay period before permitting the modem to disconnect. Generally, the hand-off period between cells of a cellular telephone system causes less than a one-second carrier signal loss, and consequently, the delay initiated by the microprocessor in response to a carrier loss may be anywhere within the range of from two to seven seconds. This delay period is sufficient to permit reestablishment of the carrier signal when the loss of carrier is occasioned by travel between cells. By never allowing a carrier loss to cause modem disconnect during this predetermined time delay period, the time needed for the modem to reestablish data transmission after the carrier loss terminates is decreased, thereby improving overall efficiency. Thus, if the carrier loss terminates during the predetermined time period set by the microprocessor, modem disconnect does not occur. On the other hand, the microprocessor will instruct the modem to disconnect when the data transmission is ended by the microprocessor, when the cellular telephone call is completed, as sensed by the cellular interface 30 or the FCC interface 54 and transmitted to the microprocessor, or when the delay period set by the microprocessor expires.

The modems 40 and 50 are not only used in the test mode to disable the normal modem disconnect circuitry, but also are used in a mode which disables the modem scrambler circuitry. It is important for effective cellular data transmission to prevent the scrambler polynomial from increasing the number of bit errors received, for these additional errors further reduce the effectiveness of the error correction scheme. However, with the scrambler defeated, the synchronization of the modem PLL circuitry is no longer provided and the non-scrambled modulated signal may be interpreted by the telephone company equipment as a valid switch command. Both of these problems are solved by the cooperation between the modem and its associated microprocessor. Considering the microprocessor 34 to be the transmitting microprocessor, all data sent by the modem 40 is first presented to the modem by the microprocessor. The microprocessor is programmed to ensure that the data signal provided to the modem has enough changing signals to keep the modem PLL in synchronization and to prevent the telephone switching equipment from assuming the signal is a valid switching command. It must be recognized, however, that data is not always sent by the modem 40 in a continuous stream, and that the modem is often in a static condition. It is when the modem is in this static condition that the modem PLL may lose synchronization or that the telephone equipment may interpret the static condition as a switch command. Normally, the modem scrambler would prevent this static condition, but in the present circuit, the transmitting microprocessor knows when the last data byte was presented to the modem and what the transmission rate of the modem is. With this information, the microprocessor determines when the modem is in a static condition, and immediately initiates the presentation of a unique byte of data to the modem. This unique byte is repeatedly presented until data is again available for transmission, or, in the alternative until the modem is shut down. The characteristics of this unique byte, hereinafter known as the synch byte, are such that the bit stream is always changing, and the receiving modem recognizes this byte as a synch byte and not a valid data byte. These two conditions can be met by many different bytes, and the choice of which one to use is arbitrary.

Since the structure and operation of the mobile data programming interface 28 and the static data programming interface 42 are substantially the same, it will be recognized that both operate in the same manner to either transmit or receive data. Therefore, for purposes of description, the mobile data programming interface 28 will herein be described in connection with the transmission of data and the static data programming interface 42 will be described in connection with the reception of such data, but it must be noted that the roles can be reversed.

Referring now to FIG. 3, there is illustrated a flow chart including the basic process steps used by the microprocessor 34 in transmitting a data signal over the cellular telephone system. The coding of the process steps of this flow chart into the instructions suitable to control the microprocessor 34 will be understandable to one having ordinary skill in the art of programming, and is illustrated in detail in the appended microfiche program. The flow chart of FIG. 3 is begun at start block 86, and the microprocessor 34 is adapted to receive dialing instructions as indicated by block 88 which originate at the portable computer 36 or from some other source. These instructions command the microprocessor to connect the system to a designated telephone number (123-4567) and the received instructions are store in the microprocessor as shown by block 90. In response to the instructions, the microprocessor then operates to cause the analog switch and conditioning system 32 to complete an instruction path to the cellular interface 30 as taught at 94. With this path completed, the microprocessor operates at 96 to transmit the stored call control signals to the cellular interface with the instructions to cause the cellular interface to send the eight bit parallel control signals required to dial the phone number 123-4567. .Iadd.As a first step in this transmission, the microprocessor checks the state of the cellular bus data lines. If the data lines are in use, the microprocessor enters a loop or waiting mode and does not actuate the AMPS interface and transmit the call control signals to the cellular bus until the data lines are not in use. When the data lines are not in use, the microprocessor will actuate the AMPS interface and transmit the call control signals to the cellular transceiver via the cellular bus. The method by which this first transmission step is implemented will be apparent to those skilled in the art on review of the commented source code implementing this step (located in the "dial.num" routine which is part of the BRIDGSUB routine) in the microfiche Software Appendix. .Iaddend.The microprocessor then waits for the call to be answered, and if this does not occur, the NO branch is taken from the decision block 98 to block 100 to exit from the flow chart in FIG. 3. However, if the call is answered, the YES branch is taken from the decision block 98 to block 102, where the microprocessor 34 instructs the analog switch and conditioning system 32 to switch the signal path from the cellular interface to the modem 40. Subsequently, at block 104, the modem is instructed to transmit data received by the microprocessor.

The specific control functions of the microprocessor 34 during the transmission of a data stream are illustrated in greater detail in FIG. 4, and for purposes of this description, the data transmission is monitored as indicated by the decision block 106. As long as data is being transmitted through the microprocessor 34, the NO branch of the decision block 106 takes the decision to the block 104 to continue the transmission of data. However, once data transmission is finished, the YES branch of the decision block 106 is taken to the modem disconnect block 108 where the microprocessor instructs the modem to terminate its function. Then the analog switch and conditioning system 32 is instructed, as indicated by the block 110, to disconnect the path between the modem and the cellular interface and to reconnect the microprocessor which, at 112, instructs the cellular interface to hang up the telephone and terminate the call before exiting at 114.

Referring now to FIG. 4, a flow diagram is provided to illustrate in detail the operation of the microprocessor 34 during the block shown at 104 in FIG. 3 when data transmission is occurring. Again, the coding of the process steps used by the microprocessor 34 into the instructions suitable to control the microprocessor will be understood by one having ordinary skill in the art and are fully illustrated by the appendixed program.

Entering the flow chart at a start block 116, a data stream provided by the portable computer 36 through the RS 232 interface 38 is received by the microprocessor 32 as indicated by the block 118. Next, the data signal is modulated with the error detection and correction and other control bytes described in connection with FIG. 2, as illustrated by the block 120 and the modulated data stream is stored at 122. The data is then transmitted to the modem at 124, and the modem provides the data to the cellular interface for transmission. As previously indicated, the microprocessor provides the data to the modem in a modulated signal which has enough changing signals to keep the modem PLL in synchronization. However, during the operation of the modem, the microprocessor monitors the data and modem operation to make sure that the modem is not static. The microprocessor uses the transmission rate of the modem and the time when the last data byte was presented to determine when the modem is in a static condition, and as indicated by the decision block 126, when the modem is static, the YES line to the block 128 shows that a repetitive synch byte is generated which is transmitted to the modem.

When the modem is not in the static condition, the NO line from the decision block 126 to the block 130 indicates that the microprocessor waits for the receipt of acknowledgment signals from the receiving microprocessor 48 for each word and packet of data transmitted. In the event of a loss of carrier signals, the microprocessors 32 and 48 respond to a "break bit" from the modem and initiate a time clock before permitting modem disconnect. As indicated by the decision block 132, when the awaited carrier signals are totally missing for a time t which is equal to or greater than a predetermined time x, the YES line to a modem disconnect block 134 is followed. At this point, the same operation which has occured with the blocks 108, 110, 112 and 114 in FIG. 3 occurs, and the modem is disconnected from the cellular interface. The cellular interface is reconnected to the microprocessor at 136 which instructs the cellular interface to perform a hang-up operation before exiting at 140.

On the other hand, if the time when no carrier signals are received is less than the predetermined delay time period x, then the NO line from the decision block 132 to a data error frequency determination block 142 becomes relevant. Here, the frequency of data errors at the receiving data microprocessor 48 is determined and employed at block 144 to adjust the EDC packet to provide larger or smaller packets in the manner described in connection with FIG. 2. Then this portion of the program is exited at 146.

The operation of the microprocessors 32 and 48 during the reception of data, evaluation of data errors and transmission of acknowledgment signals has been fully descrbed previously. Since this operation is similar to that which occurs with wire line and other data transmission systems, it will be readily understood by those having ordinary skill in the art, and the instructions for the microprocessors are disclosed in detail by the appendixed program.

INDUSTRIAL APPLICABILITY

The cellular telephone data communication system of the present invention provides a cooperating mobile data programming interface and static data programming interface which operate together to perform the functions necessary to control errors in an efficient way to permit data transmission in the limited voice band available when using cellular telephone technology. Since both interfaces incorporate a microprocessor with independent firmware storage capabilities, a flexible system is provided wherein various computer control devices can execute the functions provided by a cellular telephone system. At the same time, the unit permits the cellular telephone system to be employed for the conventional audio transmissions which the system was designed to handle. 

I claim:
 1. A method for transmitting data from a transmitting station over a cellular telephone system to a receiving station by means of a modem connected to said cellular telephone system which is operative in an activated state to modulate a carrier signal for said cellular telephone system with a data signal, said method including the steps of placing said modem in the activated state, providing a data signal to said activated modem, maintaining said modem in the activated state for a predetermined time period after a loss of said carrier signal before permitting said modem to deactivate, and causing said modem to remain in said activated state after the loss of said carrier signal if said carrier signal resumes within said predetermined time period.
 2. The method of claim 1 which includes adding an error control correction data format to said data signal before providing said data signal to said modem.
 3. The method of claim 1 which includes repetitively providing a unique data byte to said modem during a break in said data signal.
 4. The method of claim 2 wherein the addition of said error control correction format involves dividing data to be transmitted into a plurality of data packets, each data packet including a plurality of data words, the number of data words in a data packet determining the size of the data packet, providing said data signal to said modem for transmission to said receiving station, examining the data words in each received data packet at the receiving station for error and determining which data words are acceptable, transmitting an acknowledgment signal to the transmitting station for each acceptable data word, determining from the transmitted acknowledgment signals which data packets were received with unacceptable errors and retransmitting said unacceptable data packets, and determining the frequency of error in said received data packets from said acknowledgment signals and adjusting the size of subsequent data packets to be transmitted in accordance with said error frequency.
 5. The method of claim 4 which includes decreasing the size of subsequent data packets to be transmitted as the frequency of error in received data packets increases and increasing the packet size of subsequent data packets to be transmitted as the frequency of error in received data packets decreases.
 6. The method of claim 4 which includes sensing a complete loss of said carrier signal for a predetermined period at said transmitting station and initiating said predetermined time period in response to said loss to maintain said modem in the activated state.
 7. The method of claim 6 which includes causing said modem to disconnect and terminate transmission to said receiving station of all data packets if the signal is not resumed within said predetermined time period.
 8. The method of claim 7 which includes operating said modem without a scrambler polynomial and continuously changing said data signal provided to said modem for modem synchronization.
 9. The method of claim 8 which includes repetitively providing a unique data byte to said modem during a break in said data signal to prevent the modem from entering a static condition.
 10. A method for transmitting data between a transmitting station and a receiving station .Iadd.using a cellular network .Iaddend.which includes dividing data to be transmitted into a plurality of data packets, each data packet including a plurality of data words, the number of data words in a data packet determining the size of the data packet, transmitting said data packets to the receiving station, examining the data words in each received data packet for error and determining which data words are acceptable, transmitting an acknowledgment signal to the transmitting station for each acceptable data .[.word.]. .Iadd.packet.Iaddend., determining from the transmitted acknowledgment signals which data packets were received with unacceptable errors and retransmitting said unacceptable data packets, and determining the frequency of error in said received data packets from said acknowledgment signals and adjusting the size of subsequent data packets to be transmitted in accordance with said error frequency.
 11. The method of claim 10 which includes decreasing the size of subsequent data packets to be transmitted as the frequency of error in received data packets increases and increasing the packet size of subsequent data packets to be transmitted as the frequency of error in received data packets decrease.
 12. A signal processing interface for communicating data from a data source over a cellular telephone system to a receiving means via a cellular telephone radio carrier signal comprising processing means connected to receive data from said data source, said processing means operating to form said data into a data signal format to be transmitted as a data signal, the data signal format including blocks of data, at least one acknowledgment signal to be retransmitted by said receiving means back to said processing means upon receipt of each of said data blocks, cellular telephone transmission means operative upon receipt of said data signal format to transmit said data signal to said receiving means, and modem means connected to said signal processing means and said cellular telephone transmission means and operative to receive said data signal containing said data signal format from said processing means and to provided said data signal for transmission to said cellular telephone transmission means, said modem means being operative to disconnect from said cellular telephone transmission means in response to a disconnect signal and inoperative to disconnect in response to a loss of said cellular telephone radio carrier signal, said processing means operating to provide a disconnect signal to said modem means when a delay period subsequent to a loss of said cellular telephone radio carrier signal has elapsed without the resumption of said cellular telephone radio carrier signal.
 13. The signal processing interface of claim 12 wherein said modem means operates without a scrambler polynomial, said processing means operating to continuously change said data signal to provide synchronization for said modem means.
 14. The signal processing interface of claim 13 wherein said processing means operates in response to a break in said data to repetitively provide a unique data byte to said modem means for the duration of said break in the data.
 15. A cellular telephone data communication system for communicating data from a data source over a cellular telephone system having a mobile transceiver unit operative to transmit and receive cellular telephone signals and a plurality of fixed transceiver units connected to transmit signals over a conventional telephone line system comprising a mobile signal processing interface means connected to said mobile transceiver unit and operative to communicate data from a data source to said mobile transceiver unit for transmission via a cellular telephone radio carrier signal or to receive a transmitted data signal from said mobile transceiver unit, and a static signal processing interface means connected to said conventional telephone line system and operative to communicate data from a data source over said conventional telephone line system to one of said fixed transceiver units for transmission via a cellular telephone radio carrier signal to said mobile unit or to receive a transmitted data signal via said conventional telephone line system, each said mobile signal processing interface means and static signal processing interface means being operative in a transmitting or receiving mode while the other operates in the opposite mode and each including signal processing and control means connected to receive data from a respective data source in the transmitting mode, said signal processing and control means also being operative in the receiving mode to receive a data signal from the associated mobile transceiver unit or associated conventional telephone line system, and modem means connected to said signal processing and control means, the signal processing and control means of the mobile or static signal processing interface means operating in the transmitting mode being operative to receive data from the associated data source and to form data into a data signal format to be transmitted as a data signal to the modem means connected thereto, said modem means being operative to disconnect in response to a disconnect control signal and inoperative to disconnect in response to a loss of said cellular telephone radio carrier signal, the signal processing and control means operating to provide a disconnect control signal to the modem means connected thereto when a delay period subsequent to a loss of said radio carrier signal has elapsed without the resumption of said telephone radio carrier signal.
 16. The cellular telephone data communication system of claim 15 wherein the data signal format is formed by the signal processing and control means for the mobile or static signal processing interface means operating in the transmitting mode by dividing data to be transmitted into a plurality of data packets, each data packet including a plurality of data words, the number of data words in a data packet determining the size of the data packet, the signal processing and control means for the mobile or static signal processing interface means operating in the receiving mode being operative to receive and examine the data words in each transmitted data packet for error to determine which data words are acceptable and to transmit an acknowledgement signal for each acceptable data .[.word.]. .Iadd.packet .Iaddend.to the transmitting mobile or static signal processing interface means, the signal processing and control means for the transmitting mobile or static signal processing interface means operative to receive and determine the frequency of error in said received data packets from said acknowledgment signals and to adjust the size of subsequent data packets to be transmitted in accordance with said error frequencey.
 17. The cellular telephone data communication system of claim 16 wherein the signal processing and control means for the transmitting mobile or static signal processing interface means operates to control the size of subsequent data packets inversely to the error frequency detected thereby.
 18. A data processing interface for operation in a transmitting mode for transmitting data from a data source over a cellular telephone system to a receiving means via a cellular telephone radio carrier signal comprising processing and control means connected to receive data from said data source, said processing and control means operating to form said data into a data signal format to be transmitted as a data signal, said data signal format including a plurality of data packets, each said data packet including a number of data and control words, the number of words in a data packet determining the size of the data packet, each said data packet including an error control correction data format having at least one acknowledgement section, the acknowledgement section adapted to be retransmitted by said receiving means as an acknowledgment signal when an acceptable data packet is received by said receiving means, and modem means connected to said processing and control means to receive said data signal therfrom, said modem means being operable to modulate said cellular telephone radio carrier signal with said data signal and to provide said modulated signal to said cellular telephone system, said modem means receiving the acknowledgment signals transmitted by the receiving means and operating to provide such acknowledgment signals to said processing and control means, the processing and control means determining from said acknowledgment signals the frequency of error in the received data packets and adjusting the size of subsequent data packets in the data signal in accordance with said error frequency.
 19. The data processing interface of claim 18 wherein said processing and control means determines from the acknowledgment signals which data packets were received with unacceptable errors and provides said data packets to said modem means for retransmission by said cellular telephone system.
 20. The data processing interface of claim 19 wherein said modem means operates without a scrambler polynomial, said processing and control means operating to continuously change the data signal to provide synchronization for said modem means.
 21. The data processing interface of claim 19 wherein said modem means operates without a scrambler polynomial, said processing and control means operating in response to a break in the data from said data source to repetitively provide a unique data byte to said modem means for the duration of said break in the data.
 22. The data processing interface of claim 19 wherein said modem means is operative to disconnect from said cellular telephone system in response to a disconnect signal and inoperative to disconnect in response to a loss of a cellular telephone radio carrier signal, said processing and control means operating to provide a disconnect signal to said modem means when a delay period subsequent to a loss of said cellular radio carrier signal has elapsed without the resumption of said cellular telephone radio carrier signal.
 23. The data processing interface of claim 22 which is operative in a receiving mode to receive a data signal transmitted by said cellular telephone system, said modem means receiving the data signal from said cellular telephone system and providing said data signal to said processing and control means, the processing and control means operating to examine the data words in each received data packet for error to identify acceptable data words and providing an acknowledgment signal to said cellular telephone system for each acceptable data word, the processing and control means operating to remove the error control correction data format from said data section.
 24. The data processing interface of claim 23 wherein said modem means operates without a scrambler polynomial, said processing and control means operating to continuously change said data signal to provide synchronization for said modem means.
 25. The data processing interface of claim 24 wherein said processing and control means operates in response to a break in the data from said data source to repetitively provide a unique data byte to said modem means for the duration of the break in said data. .Iadd.
 26. An interface system for correcting error in digital data transmitted and received between first and second digital data processing units via a cellular radio telephone link established between (1) a mobile transceiver unit which is adapted to be interfaced with the first digital data processing unit and (2) one of a plurality of fixed transceiver units which are adapted to be interfaced with the second digital data processing unit, comprising:(a) a mobile signal processing interface means adapted to be connected with the first data processing unit and the mobile transceiver unit for supplying in digital form the data transmitted from the second digital data processing unit via the cellular telephone system to the first digital data processing unit and for receiving in digital form data from the first digital data processing unit for transmission to the second digital data processing unit via the cellular telephone system; (b) a static signal processing interface means adapted to be connected between the second data processing unit and the one fixed transceiver unit for supplying in digital form the data transmitted from the first digital data processing unit via the cellular telephone system to the second digital data processing unit and for receiving in digital form data from the second digital data processing unit for transmission to the first digital data processing unit via the cellular telephone system; wherein each of said mobile signal processing interface means and said static signal processing interface means includes: microprocessor means for controlling respectively said mobile signal processing interface means and said static signal processing interface means, each said microprocessor means being programmed to form dividing means for dividing the data produced by the corresponding digital data processing unit into plural groups of digital data, forward error correction encoding means for generating and associating with each group of digital data an error correcting signal for transmission to the other of said mobile signal processing interface means and said static signal processing interface means, and forward error correcting decoding means for receiving the forward error correcting signal generated by the microprocessor of the other of said mobile signal processing interface means and said static signal processing interface means in association with each group of digital data received from the other of said mobile signal processing interface means and said static signal processing interface means and for using said forward error correcting signal to detect errors and to correct those errors in the associated group of digital data when the number of detected errors is below a predetermined amount. .Iaddend. .Iadd.
 27. An interface system as defined in claim 26, wherein said static signal processing interface means is adapted to be connected between the second data processing unit and the one fixed transceiver unit via a telephone land unit. .Iaddend. .Iadd.28. An interface system as defined in claim 27, wherein said static signal processing interface means is adapted to be connected between the second data processing unit and a telephone land line connected to the plurality of fixed transceiver units of the cellular system so that digital data transmission and reception between the first and second digital data processing units may continue during movement of the mobile transceiver throughout the geographic cells of the cellular system via a cellular telephone link between the mobile transceiver unit and the fixed transceiver unit associated with the cell within which the mobile transceiver unit is moving. .Iaddend. .Iadd.29. A data transmission system for transmitting data from a data source to a data receiver over a radiotelephone system in which errors may occur at a varying error rate, the data transmission occurring in a data stream comprising a plurality of data packets, with the radiotelephone system including at least one portable transceiver unit operative to transmit and receiver radiotelephone signals and a plurality of fixed transceiver units connected to receive signals from a conventional telephone line system and transmit the signals to the portable transceiver unit and also to receive signals from the portable transceiver unit and transmit the signals to the conventional telephone line system, with the data receiver including a protocol decoding circuit that is in signal communications connection with at least one of the fixed transceiver unit, comprising:a portable signal processing interface means adapted to be connected to the portable transceiver unit and operative to transmit data from the data source to the portable transceiver unit, said portable signal processing interface means including a signal processing means for implementing an error-handling data transmission protocol, including an error compensation protocol portion which adapts signal formatting of the transmitted data stream to minimize the propagation of data errors beyond the protocol decoding circuit, said error compensation protocol portion being effective for frequencies of error of less than a predetermined error rate, and an error limiting protocol portion which is operationally effective to vary, in response to changes in the radiotelephone system error rate, the size of the data packets transmitted, thereby reducing the quantity of data affected by errors occurring at frequencies greater than said predetermined error rate, said error correction protocol portion operating at least when the radiotelephone system error rate exceeds said predetermined error rate. .Iaddend. .Iadd.30. The data transmission system of claim 29 wherein the error compensation protocol portion further includes a forward error correction protocol which is enabled to correct errors occurring at a specified frequency which is not greater than the error rate capacity of the error compensation protocol portion. .Iaddend. .Iadd.31. The data transmission system of claim 29 wherein the sizes of the packets transmitted are varied within predetermined limits during operation of the error correction protocol portion. .Iaddend. .Iadd.32. The data transmission system of claim 31 wherein the packet sizes are increased when the error rate of the radiotelephone system decreases, and decreased when the said error rate increases. .Iaddend. .Iadd.33. The data transmission system of claim 32 wherein a forward error correction protocol is included in the error compensation protocol portion to minimize the propagation of errors occurring at a specified frequency which is less than the predetermined error rate. .Iaddend. 